import {
    baseUrl
} from "../static/url"
var notNeedToken = [
    'repair/login/login',
];
function httpRequest(url, method, data) {
    return new Promise(async (resolve, reject) => {
        if(notNeedToken.indexOf(url) == -1){
            var token = checkLoginStatus();
            // var code = await getLoginCode();
            if (!token) {
                wx.showToast({
                  title: '请先登录',
                  icon:'none'
                })
                setTimeout(() => {
                    wx.navigateTo({
                        url: '/pages/login/login', //跳转到登录页
                    })
                }, 800)

                return false
            }
        }
        var header = {}
        var token = wx.getStorageSync('token')
        if(token)
        {
            header.token = token
        }
        wx.request({
            url: baseUrl + url,
            method: method,
            data: data,
            header : header,
            success: function (response) {
                wx.hideLoading()
                if(response.statusCode != 200){
                    wx.showToast({
                      title: '请求失败',
                      icon:"error"
                    })
                    return false
                }
                if(response.data.code == 369){
                    wx.showToast({
                        title: '登录过期,重新登录',
                        icon:"error"
                      })
                      setTimeout(() => {
                        wx.navigateTo({
                            url: '/pages/login/login', //跳转到登录页
                        })
                    }, 800)
                      return false
                }
                resolve(response.data); // 请求成功时，将返回的数据传递给 resolve
            },
            fail: function (error) {
                wx.hideLoading()
                reject(error); // 请求失败时，将错误信息传递给 reject
            }
        });
    });
}

//获取用户code


// 检查用户登录状态的函数
function checkLoginStatus() {
    // 在这里编写判断用户是否已登录的逻辑
    // 返回 true 表示已登录，返回 false 表示未登录
    // 可以根据实际需求调用相关接口或检查本地存储的登录状态等
    var token = wx.getStorageSync('token');
    if (token) {
        return token
    } else {
        return false
    }
}
// 获取openid需要获取code Promise
function getLoginCode() {
    return new Promise((resolve, reject) => {
        wx.login({
            success: function (res) {
                resolve(res.code);
            },
            fail: function (error) {
                reject(error);
            }
        });
    });
}

export {
    httpRequest
};